package org.lc.stk.model.paper;

import java.util.Date;

import org.hibernate.annotations.Comment;
import org.lc.stk.model.user.User;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;

/**
 * 试卷组，同一组卷方案生成的试卷组
 */
@Entity
@Table(name = "examPaperSet")
@Comment("试卷组，同一组卷方案生成的试卷组")
public class ExamPaperSet {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;

    @ManyToOne
    @Comment("试卷组方案")
    private PaperGenerationStrategy generalStrategy;

    @Column
    @Comment("试卷组名称")
    private String name;

    /**
     * 试卷数量
     */
    @Column
    @Comment("试卷数量")
    private Integer count;

    /**
     * 组卷日期
     */
    @Column
    @Comment("组卷日期")
    @Temporal(TemporalType.DATE)
    private Date createDate;

    /**
     * 组卷人
     */
    @ManyToOne
    @Comment("组卷人")
    private User createUser;

    /**
     * 审核人
     */
    @ManyToOne
    @Comment("审核人")
    private User questionAuditor;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public PaperGenerationStrategy getGeneralStrategy() {
        return generalStrategy;
    }

    public void setGeneralStrategy(PaperGenerationStrategy generalStrategy) {
        this.generalStrategy = generalStrategy;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public User getCreateUser() {
        return createUser;
    }

    public void setCreateUser(User createUser) {
        this.createUser = createUser;
    }

    public User getQuestionAuditor() {
        return questionAuditor;
    }

    public void setQuestionAuditor(User questionAuditor) {
        this.questionAuditor = questionAuditor;
    }
}
